package com.yhm.myfootbollshow.demos.entity.po;


import java.io.Serializable;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
* 订单表
* @TableName order
*/
@Data
@Accessors(chain = true)
public class Order implements Serializable {

    /**
    * 订单ID
    */
    @ApiModelProperty("订单ID")
    @TableId
    private Long orderId;
    /**
    * 订单编号
    */
    @ApiModelProperty("订单编号")
    private String orderNo;
    /**
    * 用户ID
    */
    @ApiModelProperty("用户ID")
    private Long userId;
    /**
    * 订单总金额
    */
    @ApiModelProperty("订单总金额")
    private BigDecimal totalAmount;
    /**
    * 实付金额
    */
    @ApiModelProperty("实付金额")
    private BigDecimal paymentAmount;
    /**
    * 运费
    */
    @ApiModelProperty("运费")
    private BigDecimal freightAmount;
    /**
    * 优惠金额
    */
    @ApiModelProperty("优惠金额")
    private BigDecimal discountAmount;
    /**
    * 支付方式(1-支付宝 2-微信 3-银行卡)
    */
    @ApiModelProperty("支付方式(1-支付宝 2-微信 3-银行卡)")
    private Integer paymentType = 1;
    /**
    * 支付时间
    */
    @ApiModelProperty("支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date paymentTime;
    /**
    * 订单状态(0-待付款 1-待发货 2-待收货 3-已完成 4-已取消 5-已退款)
    */
    @ApiModelProperty("订单状态(0-待付款 1-待发货 2-待收货 3-已完成 4-已取消 5-已退款)")
    private Integer status;
    /**
    * 物流公司
    */
    @ApiModelProperty("物流公司")
    private String shippingName;
    /**
    * 物流单号
    */
    @ApiModelProperty("物流单号")
    private String shippingCode;
    /**
    * 发货时间
    */
    @ApiModelProperty("发货时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date shippingTime;
    /**
    * 收货时间
    */
    @ApiModelProperty("收货时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date receiveTime;
    /**
    * 收货地址ID
    */
    @ApiModelProperty("收货地址ID")
    private Long addressId;
    /**
    * 订单备注
    */
    @ApiModelProperty("订单备注")
    private String note;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
}
